import axios from 'axios'
// import store from '@/store'
// import { Message, MessageBox } from 'element-ui'
// import router from '@/router'
export const baseURL = 'http://localhost:3000'
// export const baseURL = 'http://47.110.66.94:8889'
// export const baseURL = 'http://121.43.179.207:8001'
// axios.interceptors.request.use(config => {
//     let token = localStorage.token
//     if (token) {
//         config.headers.Token = token
//     }
//     return config
// }, error => {
//     return Promise.reject(error)
// })

// let timer = null
// axios.interceptors.response.use(res => {
//     if (res.data.code === 110) {
//         if (timer) clearTimeout(timer)
//         timer = setTimeout(() => {
//             MessageBox.confirm(`${ res.data.msg }，请重新登录！` || '请求失败！请于管理员联系！', '提示', {
//                 type: 'warning'
//             }).then(() => {
//                 localStorage.clear()
//                 sessionStorage.clear()
//                 router.replace({ name: 'login' }).then(() => {
//                     location.reload()
//                 })
//             })
//         }, 500)
//     }
//     // 稍后可以做一些处理
//     return res
// }, error => {
//     if (timer) clearTimeout(timer)
//     timer = setTimeout(() => {
//         Message({
//             type: 'error',
//             message: error.message || '请求失败！请于管理员联系！',
//             duration: 3000,
//             showClose: true
//         })
//     }, 500)
//     return Promise.reject(error)
// })

function Axios (options) {
    const config = {
        timeout: 50000,
        baseURL,
        ...options
    }
    config.headers = {
        'Content-Type': 'application/json'
    }
    return new Promise((resolve, reject) => {
        axios(config).then(res => {
            resolve(res)
        }).catch(err => {
            reject(err)
        })
    })
}

// router.beforeEach((to, form, next) => {
//     if (to.fullPath.includes('/login'))  return next()
//     if (!localStorage.token) {
//         Message({
//             type: 'error',
//             message: '您的身份信息有误，请重新登录！',
//             duration: 5000,
//             showClose: true
//         })
//         return next({ name: 'login', replace: true })
//     }
//     next()
// })
export default {
    get: ({ url, data, params }) => Axios({ method: 'GET', url, data, params }),
    post: ({ url, data, params }) => Axios({ method: 'POST', url, data, params }),
    put: ({ url, data, params }) => Axios({ method: 'PUT', url, data, params }),
    delete: ({ url, data, params }) => Axios({ method: 'DELETE', url, data, params })
}
